console.log("**************************");
console.log("*   开始复习JS基础知识   *");
console.log("**************************");
console.log("\n");
// console是一个控制输出对象  
/*
 * 标识符
 * (1) 区分大小写 
 * (2) 由大小写字母、数字、下划线和特殊字符$组成
 * (3) 不能以数字开头
 * (4) 不能以关键字和保留字命名
 */

/* 变量名和函数名等都以标识符命名规则命名 */

/** A. 变量
 * (1) 声明变量使用关键字 var[全局变量]或let[局部变量]
 * (2) 变量的数据类型
 *     (a) 基础数据类型
 *         (I)  字符型String 
 *         (II) 数值型Number
 *         (III)布尔型Boolean
 *     (b) 复合类型
 *         (I)  数组Array[归为object型]
 *         (II) 对象型Object 
 *         (III)函数类型Function
 *     (c) 特殊类型
 *         (I)  空对象null
 *         (II) 未定义型undefined
 *         (III)特殊的数值型NaN
 */
var baseType = function () {
    console.log("**************************");
    console.log("*\t 基础类型 \t *");
    console.log("**************************");
    var a11 = "a11字符型String";
    console.log(a11, "typeof判断a11类型:" + typeof (a11));
    var a12 = 111111111111111;
    console.log(a12, "typeof判断a12类型:" + typeof (a12));
    var a13 = true;
    console.log(a13, "typeof判断a13类型:" + typeof (a13));
    console.log("\n");

}

// baseType();//基础模块


var compuonType = function () {
    console.log("**************************");
    console.log("*\t 复合类型 \t *");
    console.log("**************************");
    var a21 = new Array(5, 4, 3, 2, 1);//[5,4,3,2,1];
    console.log(a21, "typeof判断a21类型:" + typeof (a21));
    var a22 = new Object({ name: "小明" }); //{name:"小明"};
    console.log(a22, "typeof判断a22类型:" + typeof (a22));
    var a23 = function () {
        return 1 + 1;
    }
    console.log(a23, "typeof判断a23类型:" + typeof (a23));
    console.log("\n");
}
compuonType() //复合类型

var specialType = function () {
    console.log("**************************");
    console.log("*\t 特殊类型 \t *");
    console.log("**************************");
    var a31 = null;
    console.log(a31, "typeof判断a31类型:" + typeof (a31));
    var a32;
    console.log(a32, "typeof判断a32类型:" + typeof (a32));
    var a33 = "a" - 1;
    console.log(a33, "typeof判断a33类型:" + typeof (a33));
    console.log("\n");
}

specialType() // 特殊类型